<?php declare(strict_types=1);


namespace App\Model\Entity;

use Swoft\Db\Annotation\Mapping\Column;
use Swoft\Db\Annotation\Mapping\Entity;
use Swoft\Db\Annotation\Mapping\Id;
use Swoft\Db\Eloquent\Model;


/**
 * 店铺表
 * Class Shops
 *
 * @since 2.0
 *
 * @Entity(table="shops", pool="db2.pool")
 */
class Shops extends Model
{
    /**
     * 
     * @Id()
     * @Column()
     *
     * @var int
     */
    private $id;

    /**
     * 店铺名称
     *
     * @Column()
     *
     * @var string
     */
    private $name;

    /**
     * 店铺简介
     *
     * @Column()
     *
     * @var string|null
     */
    private $info;

    /**
     * 主图
     *
     * @Column()
     *
     * @var string|null
     */
    private $cover;

    /**
     * 店铺标签
     *
     * @Column(name="tag_type", prop="tagType")
     *
     * @var string|null
     */
    private $tagType;

    /**
     * 营业时间
     *
     * @Column(name="business_hours", prop="businessHours")
     *
     * @var string|null
     */
    private $businessHours;

    /**
     * 商铺电话
     *
     * @Column()
     *
     * @var string|null
     */
    private $tel;

    /**
     * 联系地址
     *
     * @Column()
     *
     * @var string|null
     */
    private $address;

    /**
     * 支付方式
     *
     * @Column()
     *
     * @var string|null
     */
    private $payment;

    /**
     * ins
     *
     * @Column()
     *
     * @var string|null
     */
    private $ins;

    /**
     * youtube
     *
     * @Column()
     *
     * @var string|null
     */
    private $youtube;

    /**
     * twitter
     *
     * @Column()
     *
     * @var string|null
     */
    private $twitter;

    /**
     * 经度
     *
     * @Column()
     *
     * @var float|null
     */
    private $lon;

    /**
     * 纬度
     *
     * @Column()
     *
     * @var float|null
     */
    private $lat;

    /**
     * 状态 2:不送货 1 送货
     *
     * @Column(name="is_delivery", prop="isDelivery")
     *
     * @var int|null
     */
    private $isDelivery;

    /**
     * 状态 0:删除 1 正常
     *
     * @Column()
     *
     * @var int|null
     */
    private $status;

    /**
     * 创建时间
     *
     * @Column(name="created_at", prop="createdAt")
     *
     * @var int|null
     */
    private $createdAt;

    /**
     * 修改时间
     *
     * @Column(name="updated_at", prop="updatedAt")
     *
     * @var int|null
     */
    private $updatedAt;

    /**
     * 店铺网址
     *
     * @Column()
     *
     * @var string|null
     */
    private $website;

    /**
     * 时区
     *
     * @Column()
     *
     * @var string|null
     */
    private $timezone;

    /**
     * facebook
     *
     * @Column()
     *
     * @var string|null
     */
    private $facebook;

    /**
     * 国家
     *
     * @Column()
     *
     * @var string|null
     */
    private $nation;

    /**
     * 城市
     *
     * @Column()
     *
     * @var string|null
     */
    private $city;

    /**
     * 配送方式
     *
     * @Column(name="delivery_content", prop="deliveryContent")
     *
     * @var string
     */
    private $deliveryContent;


    /**
     * @param int $id
     *
     * @return void
     */
    public function setId(int $id): void
    {
        $this->id = $id;
    }

    /**
     * @param string $name
     *
     * @return void
     */
    public function setName(string $name): void
    {
        $this->name = $name;
    }

    /**
     * @param string|null $info
     *
     * @return void
     */
    public function setInfo(?string $info): void
    {
        $this->info = $info;
    }

    /**
     * @param string|null $cover
     *
     * @return void
     */
    public function setCover(?string $cover): void
    {
        $this->cover = $cover;
    }

    /**
     * @param string|null $tagType
     *
     * @return void
     */
    public function setTagType(?string $tagType): void
    {
        $this->tagType = $tagType;
    }

    /**
     * @param string|null $businessHours
     *
     * @return void
     */
    public function setBusinessHours(?string $businessHours): void
    {
        $this->businessHours = $businessHours;
    }

    /**
     * @param string|null $tel
     *
     * @return void
     */
    public function setTel(?string $tel): void
    {
        $this->tel = $tel;
    }

    /**
     * @param string|null $address
     *
     * @return void
     */
    public function setAddress(?string $address): void
    {
        $this->address = $address;
    }

    /**
     * @param string|null $payment
     *
     * @return void
     */
    public function setPayment(?string $payment): void
    {
        $this->payment = $payment;
    }

    /**
     * @param string|null $ins
     *
     * @return void
     */
    public function setIns(?string $ins): void
    {
        $this->ins = $ins;
    }

    /**
     * @param string|null $youtube
     *
     * @return void
     */
    public function setYoutube(?string $youtube): void
    {
        $this->youtube = $youtube;
    }

    /**
     * @param string|null $twitter
     *
     * @return void
     */
    public function setTwitter(?string $twitter): void
    {
        $this->twitter = $twitter;
    }

    /**
     * @param float|null $lon
     *
     * @return void
     */
    public function setLon(?float $lon): void
    {
        $this->lon = $lon;
    }

    /**
     * @param float|null $lat
     *
     * @return void
     */
    public function setLat(?float $lat): void
    {
        $this->lat = $lat;
    }

    /**
     * @param int|null $isDelivery
     *
     * @return void
     */
    public function setIsDelivery(?int $isDelivery): void
    {
        $this->isDelivery = $isDelivery;
    }

    /**
     * @param int|null $status
     *
     * @return void
     */
    public function setStatus(?int $status): void
    {
        $this->status = $status;
    }

    /**
     * @param int|null $createdAt
     *
     * @return void
     */
    public function setCreatedAt(?int $createdAt): void
    {
        $this->createdAt = $createdAt;
    }

    /**
     * @param int|null $updatedAt
     *
     * @return void
     */
    public function setUpdatedAt(?int $updatedAt): void
    {
        $this->updatedAt = $updatedAt;
    }

    /**
     * @param string|null $website
     *
     * @return void
     */
    public function setWebsite(?string $website): void
    {
        $this->website = $website;
    }

    /**
     * @param string|null $timezone
     *
     * @return void
     */
    public function setTimezone(?string $timezone): void
    {
        $this->timezone = $timezone;
    }

    /**
     * @param string|null $facebook
     *
     * @return void
     */
    public function setFacebook(?string $facebook): void
    {
        $this->facebook = $facebook;
    }

    /**
     * @param string|null $nation
     *
     * @return void
     */
    public function setNation(?string $nation): void
    {
        $this->nation = $nation;
    }

    /**
     * @param string|null $city
     *
     * @return void
     */
    public function setCity(?string $city): void
    {
        $this->city = $city;
    }

    /**
     * @param string $deliveryContent
     *
     * @return void
     */
    public function setDeliveryContent(string $deliveryContent): void
    {
        $this->deliveryContent = $deliveryContent;
    }

    /**
     * @return int
     */
    public function getId(): ?int
    {
        return $this->id;
    }

    /**
     * @return string
     */
    public function getName(): ?string
    {
        return $this->name;
    }

    /**
     * @return string|null
     */
    public function getInfo(): ?string
    {
        return $this->info;
    }

    /**
     * @return string|null
     */
    public function getCover(): ?string
    {
        return $this->cover;
    }

    /**
     * @return string|null
     */
    public function getTagType(): ?string
    {
        return $this->tagType;
    }

    /**
     * @return string|null
     */
    public function getBusinessHours(): ?string
    {
        return $this->businessHours;
    }

    /**
     * @return string|null
     */
    public function getTel(): ?string
    {
        return $this->tel;
    }

    /**
     * @return string|null
     */
    public function getAddress(): ?string
    {
        return $this->address;
    }

    /**
     * @return string|null
     */
    public function getPayment(): ?string
    {
        return $this->payment;
    }

    /**
     * @return string|null
     */
    public function getIns(): ?string
    {
        return $this->ins;
    }

    /**
     * @return string|null
     */
    public function getYoutube(): ?string
    {
        return $this->youtube;
    }

    /**
     * @return string|null
     */
    public function getTwitter(): ?string
    {
        return $this->twitter;
    }

    /**
     * @return float|null
     */
    public function getLon(): ?float
    {
        return $this->lon;
    }

    /**
     * @return float|null
     */
    public function getLat(): ?float
    {
        return $this->lat;
    }

    /**
     * @return int|null
     */
    public function getIsDelivery(): ?int
    {
        return $this->isDelivery;
    }

    /**
     * @return int|null
     */
    public function getStatus(): ?int
    {
        return $this->status;
    }

    /**
     * @return int|null
     */
    public function getCreatedAt(): ?int
    {
        return $this->createdAt;
    }

    /**
     * @return int|null
     */
    public function getUpdatedAt(): ?int
    {
        return $this->updatedAt;
    }

    /**
     * @return string|null
     */
    public function getWebsite(): ?string
    {
        return $this->website;
    }

    /**
     * @return string|null
     */
    public function getTimezone(): ?string
    {
        return $this->timezone;
    }

    /**
     * @return string|null
     */
    public function getFacebook(): ?string
    {
        return $this->facebook;
    }

    /**
     * @return string|null
     */
    public function getNation(): ?string
    {
        return $this->nation;
    }

    /**
     * @return string|null
     */
    public function getCity(): ?string
    {
        return $this->city;
    }

    /**
     * @return string
     */
    public function getDeliveryContent(): ?string
    {
        return $this->deliveryContent;
    }

}
